package com.example.joblinker.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.joblinker.dto.JobDTO;
import com.example.joblinker.vo.JobVO;

public interface JobService {

    /**
     * 创建职位
     */
    JobVO createJob(JobDTO jobDTO, Long userId);

    /**
     * 获取职位详情
     */
    JobVO getJobDetail(Long id);

    /**
     * 获取职位列表
     */
    Page<JobVO> getJobList(Integer page, Integer size);

    /**
     * 搜索职位
     */
    Page<JobVO> searchJobs(String keyword, Long categoryId, String city, Integer status, Integer page, Integer size);

    /**
     * a更新职位
     */
    JobVO updateJob(Long id, JobDTO jobDTO, Long userId);

    /**
     * 更新职位状态
     */
    void updateJobStatus(Long id, Integer status, Long userId);

    /**
     * 获取用户发布的职位
     */
    Page<JobVO> getUserJobs(Long userId, Integer page, Integer size);

    /**
     * 同步所有职位的公司信息
     * 用于修复历史数据中职位表中的公司名称和Logo字段
     */
    void syncJobCompanyInfo();
} 